home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
program
/
swags_z.zip
/
STRINGS.SWG
/
0064_HEX Strings.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-11-21
|
992b
|
39 lines
{
From: GREG ESTABROOKS
Subj: Writing hexes
Is there a quick and easy way to convert an integer to a hex number?
example, if I have an integer num1:=32; is there a way to print "20h
screen?
}
CONST
HexList :ARRAY[0..15] OF CHAR ='0123456789ABCDEF';
FUNCTION HiWord( Long :LONGINT ) :WORD; ASSEMBLER;
{ Routine to return high word of a LongInt. }
ASM
Mov AX,Long.WORD[2] { Move High word into AX. }
END;
FUNCTION LoWord( Long :LONGINT ) :WORD; ASSEMBLER;
{ Routine to return low word of a LongInt. }
ASM
Mov AX,Long.WORD[0] { Move low word into AX. }
END;
FUNCTION BHex( V :BYTE ) :STRING;
BEGIN
BHex := HexList[V Shr 4] + HexList[V Mod 16];
END;
FUNCTION WHex( V :WORD ) :STRING;
BEGIN
WHex := Bhex(Hi(V)) + BHex(Lo(V));
END;
FUNCTION LHex( Long :LONGINT ) :STRING;
BEGIN
LHex := WHex(HiWord(Long))+WHex(LoWord(Long));
END;